
package Controlador;

import Modelo.*;
import Modelo.Bacante;
import Modelo.ModelBacante;
import java.util.Iterator;
import java.util.LinkedList;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;


public class AplicativoBacante {
   AplicativoEmpre em;

    ModelBacante mod;

    public AplicativoEmpre getEm() {
        return em;
    }

    public void setEm(AplicativoEmpre em) {
        this.em = em;
    }
    LinkedList lista;
    DefaultTableModel tablaModelo;

    public ModelBacante getMod() {
        return mod;
    }

    public void setMod(ModelBacante mod) {
        this.mod = mod;
    }
    private Bacante bacan= new Bacante();

    public AplicativoBacante(ModelBacante mod, AplicativoEmpre em) {
        this.mod=mod;
        lista=new LinkedList();
        tablaModelo=new DefaultTableModel();
        this.em=em;
    }
    public JTable LimpiarTable(JTable tabla){
        tablaModelo=(DefaultTableModel) tabla.getModel();
        int x=tablaModelo.getRowCount();
	for(int i=-1;i<(x-1);i++)
		tablaModelo.removeRow(0);
        return tabla;        
    }

    //metodo para enviar una tabla y reciva una tabla
  public JTable CargaInfBacante(JTable tabla,JTextField text){
       Empresa e;
        tablaModelo=(DefaultTableModel) tabla.getModel();
	try
	{
            lista=mod.Bacantes(text.getText());
            Iterator it=lista.iterator();
            while( it.hasNext() )
            {

                bacan=(Bacante)it.next();
               e=em.CArgaEmpresa(bacan.getEmpresa());
                tablaModelo.addRow
                (
                    new Object[]
                    {
                        bacan.getCodigo(),bacan.getEstado(),bacan.getNombre(), e.getNombre(),
                    }
                );
            }
	}catch(Exception er){
		JOptionPane.showMessageDialog(null, "Error al cargar la lista de Cliente de la base de datos, se presento " +
                        "\n un inconveniente al tratar de Buscar la informacion requerida " +
                        "\n por el sistema." +
                        "\n."+er.toString() , "Error en la Carga de Informacion...",JOptionPane.DEFAULT_OPTION);
	}
        return tabla;
    }
  public Bacante CArgaBacante(String text){
     Bacante bacan=null;
  System.out.print("bacante");
	try
	{
            lista=mod.Bacantes(text);
            bacan=(Bacante)lista.getFirst();



              System.out.print("****************2");
	}catch(Exception er){
		JOptionPane.showMessageDialog(null, "Error al cargar la lista de Cliente de la base de datos, se presento " +
                        "\n un inconveniente al tratar de Buscar la informacion requerida " +
                        "\n por el sistema." +
                        "\n."+er.toString() , "Error en la Carga de Informacion...",JOptionPane.DEFAULT_OPTION);
	}
    System.out.print("bacante sale");
        return bacan;
    }
//buscar informacion de las linkedlist control de la informacion y hasNext
}
